It’s pretty easy:
git bundle create /tmp/myproject.bundle —all
This will bring all tags, branches, and heads along for the ride in a single file that can be archived without worry. To restore it, you simply clone from it:
git clone /tmp/myproject.bundle
That’s it! It should be possible to create incremental bundles as well, but I didn’t need that.